/*
 * user.h
 *
 *  Created on: 2013. 7. 19.
 *      Author: jjaehuny
 */

#ifndef USER_H_
#define USER_H_

#include <Dispatcher/Static.h>
#include "../idl/Location.h"
#include <functional>

#include <map>
#include <string>

namespace CacheServer {

class ChannelServer;

struct User
{
public:
	struct MainCharacterInfo
	{
		int _level;
		int _class;
		int _head;
		int _armor;
		int _weapon;
		int _sideHand;
		int _effect;
		int _petTid;

		int	_profile_opened;
		int	_gender;
		int	_gender_open;
		int	_birthday_open;
		std::string _strBirthday;


		MainCharacterInfo() : _level(0), _class(0), _head(0), _armor(0), _weapon(0), _sideHand(0), _effect(0), _petTid(0)
			, _profile_opened(0), _gender(0), _gender_open(0), _birthday_open(0)
			{
				_strBirthday.clear();
			}
	};

public:
	User();
	virtual ~User();

public:
	void SetChannelServer(ChannelServer * pChannelServer);
	ChannelServer * GetChannelServer();

	MainCharacterInfo * GetMainCharacterInfo();

	void SetSeq(int seq);
	int	GetSeq();

private:
	ChannelServer * _pChannelServer;
	int _seq;

	MainCharacterInfo * _pMainCharacterInfo;
};

} /* namespace cacheserver */

#endif /* USER_H_ */
